Articles of jpa

PreUpdate não triggersndo ao adicionar a uma coleção

Eu tenho uma class anotada JPA que contém uma coleção como: @Entity public class Employee { @Id private int id; @Basic private String name; @OneToMany @JoinTable(name = “ORG”, joinColumns = @JoinColumn(name=”MINION”), inverseJoinColumns = @JoinColumn(name=”EMP”)) private List minions = new ArrayList(); @PreUpdate public void preUpdate(){ … } } O que estou vendo é que, se eu […]

Nenhum foi encontrado para a class de chave no Metamodelo

Entidade: @Entity @Table(name=”user_account”) public class UserAccount implements Serializable{ private static final long serialVersionUID = -2606506548742732094L; @Id @GeneratedValue(strategy=GenerationType.TABLE) private Integer id; persistence.xml false O erro WARNING: #{accountController.performLogin}: java.lang.IllegalArgumentException: No [EntityType] was found for the key class [com.maze.model.UserAccount] in the Metamodel – please verify that the [Entity] class was referenced in persistence.xml using a specific com.maze.model.UserAccount property […]

Como dizer ao JPA o tipo de dados preferido

Se eu usar o JPA (EclipseLink) para criar tabelas, um tipo String resultará em um varchar2 (255). Como eu poderia dizer ao JPA (via Annotation) para criar um atributo varchar2 (20). Se eu tenho um List JPA cria um BLOB (4000), mas gostaria de um varchar2 (string do meu object serializado é curto) Como isso […]

Spring JPA – Localizar por EmbeddedId parcialmente

O código abaixo é apenas para demonstração. Meu bean Entidade se parece com isso @Entity class Employee { @EmbeddedId private EmployeeKey employeeKey; private String firstName; private String lastName; // Other fields // Getter and Setters } A class Embeddable : @Embeddable class EmployeeKey implements Serializable { private int employeeId; private String branchName; private String departmentName; […]

Executando várias transactions JPA em paralelo

Eu tenho dois (ou mais) Threads Java criando, atualizando e excluindo entidades de um database mysql usando JPA. Para conseguir isso eu tenho uma class PersistenceLayer criando o EntityManager e fornecendo salvar, atualizar e excluir methods para todas as minhas entidades parecidas com: public void saveEntity(Entity entity) { manager.getTransaction().begin(); manager.persist(entity); manager.getTransaction().commit(); } public void saveEntity2(Entity2 […]

Como posso criar um ddl para minhas entidades jpa do código java?

Procuro uma maneira de criar um ddl para minhas entidades anotadas do jpa. Eu prefiro uma maneira de java pura para isso. Se possível, seria bom gerar também as instruções de soltar.

Como implementar um relacionamento complexo de muitos para muitos no JPA?

Aqui o esquema do database CREATE TABLE Products ( id INT NOT NULL AUTO_INCREMENT, category_id INT NOT NULL, description VARCHAR(100), price DECIMAL(10, 2) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (category_id) REFERENCES Categories(id) ) ENGINE = INNODB; CREATE TABLE Orders ( id INT NOT NULL AUTO_INCREMENT, customer_id INT NOT NULL, status VARCHAR(20) NOT NULL, date_created […]

JPA: anotação de chave estrangeira

Eu tenho duas entidades de database: Forum e Topic . Topic protected long forumId , o que indica, é claro, o fórum do Topic . Minha pergunta é qual anotação usar para esse membro de dados?

Injeção EntityManager – NullPointerException

No meu aplicativo Spring + JPA / Hibernate + Wicket, tenho um bean QueryBuilder que desejo usar em um dos meus DAOs, que gera uma consulta digitada com a ajuda da Criteria API: @Service(value=”inboxQueryBuilder”) public class InboxQueryBuilder { @PersistenceContext EntityManager em; CriteriaBuilder cb; public InboxQueryBuilder() { cb = em.getCriteriaBuilder(); } public TypedQuery getQueryForApps(AppSearchObject aso) { […]

Interfaces de Mapeamento JPA

Estou tendo problemas para criar um mapeamento quando o tipo de lista é uma interface. Parece que eu preciso criar uma class abstrata e usar a coluna discriminador, é esse o caso? Eu prefiro não ter que como a class abstrata irá apenas conter um método abstrato e prefiro apenas manter a interface. Eu tenho […]