JPA removeなのにupdateも実行 [Java]
EntiryManager#remove()を実行すると、updateまで実行される。
エンティティ自体はNetBeansによるDBからの自動作成。
アクセサもNetBeansによるエンティティからの自動作成。
【実行ログ】
[EL Fine]: sql: 2015-11-12 16:19:53.308--ClientSession(16435676)--Connection(1434252175)--UPDATE user_table SET USER_NAME = ?, USER_PWD = ? WHERE (UID = ?)
bind => [3 parameters bound]
[EL Fine]: sql: 2015-11-12 16:19:53.308--ClientSession(16435676)--Connection(1434252175)--DELETE FROM user_table WHERE (UID = ?)
【エンティティ】
@Entity
@Table(name = "user_table")
@XmlRootElement
:
public class UserTable implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "UID")
private Integer uid;
@Size(max = 64)
@Column(name = "USER_NAME")
private String userName;
:
【アクセサ呼出し箇所】
@Stateless
public class UserLogic {
@EJB
private UserTableFacade userTableFacade;
public void deleteData() {
UserTable ut = new UserTable();
ut.setUid = 1;
:
userTableFacade.remove(ut);
※このメソッドを呼び出す側でトランザクション管理。
エンティティ・クラスの設定のような気がするが、調査する時間的猶予がないため、delete文を自作してEntityManager#createNativeQuery()、Query#executeUpdate()で一旦逃れることにした。
エンティティ自体はNetBeansによるDBからの自動作成。
アクセサもNetBeansによるエンティティからの自動作成。
【実行ログ】
[EL Fine]: sql: 2015-11-12 16:19:53.308--ClientSession(16435676)--Connection(1434252175)--UPDATE user_table SET USER_NAME = ?, USER_PWD = ? WHERE (UID = ?)
bind => [3 parameters bound]
[EL Fine]: sql: 2015-11-12 16:19:53.308--ClientSession(16435676)--Connection(1434252175)--DELETE FROM user_table WHERE (UID = ?)
【エンティティ】
@Entity
@Table(name = "user_table")
@XmlRootElement
:
public class UserTable implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "UID")
private Integer uid;
@Size(max = 64)
@Column(name = "USER_NAME")
private String userName;
:
【アクセサ呼出し箇所】
@Stateless
public class UserLogic {
@EJB
private UserTableFacade userTableFacade;
public void deleteData() {
UserTable ut = new UserTable();
ut.setUid = 1;
:
userTableFacade.remove(ut);
※このメソッドを呼び出す側でトランザクション管理。
エンティティ・クラスの設定のような気がするが、調査する時間的猶予がないため、delete文を自作してEntityManager#createNativeQuery()、Query#executeUpdate()で一旦逃れることにした。
2015-11-13 11:08
nice!(0)
コメント(0)
トラックバック(0)
コメント 0