2016-12-06 14 views
0

私はHibernate 5でアプリケーションを持っていて、JPA 2.1を追加してCriteriaBuilder.createCriteriaUpdate()で一括更新を実行しました。JPA 2.1とHibernate5でEntityManagerにアクセスできない

しかし、CriteriaBuilderをEntityManager.getCriteriaBuilder()から割り当てる必要があり、EntityManagerを取得できません。

私はpersistence.xmlファイルを持っていないので、Hibernateが私のためにEntityManagerを提供すると思いました。

IはDAOクラスで次のアノテーション試み:

@Autowired 
EntityManager entityManager 

@PersistenceContext 
EntityManager entityManager; 

が両方の依存性を注入することができません。 また、EntityManagerFactoryをインスタンス化しようとしましたが、persistence.xmlファイルがないため、失敗しました。すべてのエンティティは次のように注釈を付けています

ここ
@Entity 
@Table(name = "My_Entity") 
public class MyEntity extends BaseEntity { 

private static final long serialVersionUID = -8442071276091708080L; 

@Column(name = "VALUE", nullable = false) 
private BigDecimal value; 

... 
} 

が私のpom.xmlの一部です:

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.1.3.Final</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.1.3.Final</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.1-api</artifactId> 
     <version>1.0.0.Final</version> 
    </dependency> 

applicationContext.xmlを

<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/> 

<bean id="transactionManager" 
     class="org.springframework.orm.hibernate5.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory"/> 
    <property name="nestedTransactionAllowed" value="true"/> 
</bean> 

HibernateのインスタンスのSessionFactory、方法がありますそこからEMを取得するには?

答えて

0

スプリングを使用する場合は、スプリングブートスターターモジュールを使用する方がはるかに簡単です。 JPAの場合は "spring-boot-startter-data-jpa"となりますので、依存関係の定義はhereです。

さらに、設定に関する詳細情報を追加できますか?あなたはpersistence.xmlを使わないと言うので、データソースを設定するために何を使用しますか?

+0

質問が更新されました。私はSpringを使用しますが、Spring Bootは使用しません。あなたが言及したパッケージを追加することはできますか?私はアノテーションだけを使ってデータをマップします。 –

+0

beanのsessionFactoryもどこかで定義していますか?データソース宣言はどうですか? JPAを使用する前にアプリを使っていましたか? –

+0

これまでにそのメッセージをコミットするつもりはありませんでした。 –

関連する問題