package com.test;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Accounts {
AccountsCompoundKey compoundKey;
private int accountBalance;
@Id
public AccountsCompoundKey getCompoundKey() {
return compoundKey;
}
public void setCompoundKey(AccountsCompoundKey compoundKey) {
this.compoundKey = compoundKey;
}
public int getAccountBalance() {
return accountBalance;
}
public void setAccountBalance(int accountBalance) {
this.accountBalance = accountBalance;
}
}
AccountsCompoundKey.java
package com.test;
import java.io.Serializable;
import javax.persistence.Embeddable;
@Embeddable
public class AccountsCompoundKey implements Serializable {
private int userId;
private int accountId;
public AccountsCompoundKey(int userId, int accountId) {
super();
this.userId = userId;
this.accountId = accountId;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
}
AccountsTest.java
package com.test;
import static org.junit.Assert.*;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class AccountsTest {
static EntityManagerFactory entityManagerFactory;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
entityManagerFactory = Persistence
.createEntityManagerFactory("org.hibernate.tutorial.jpa");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
entityManagerFactory.close();
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void test() {
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
try {
AccountsCompoundKey key1 = new AccountsCompoundKey(100, 10000);
Accounts account1 = new Accounts();
account1.setCompoundKey(key1);
account1.setAccountBalance(8000);
entityManager.persist(account1);
AccountsCompoundKey key2 = new AccountsCompoundKey(200, 20000);
Accounts account2 = new Accounts();
account2.setCompoundKey(key2);
account2.setAccountBalance(9000);
entityManager.persist(account2);
entityManager.getTransaction().commit();
}
catch (Exception e) {
entityManager.getTransaction().rollback();
}
}
}
0 件のコメント:
コメントを投稿