【发布时间】:2020-04-04 10:08:35
【问题描述】:
我正在开发一个 Spring Boot 项目,其中我有带有 @Entity 装饰器的实体,它们没有 @Id 装饰器,因为它们是视图而不是表。这就是为什么我有一个persistence.xml 文件,它说类在这里处理休眠
A类
package com.lma.flad;
@Entity
class ClassA{
private String name;
private String surName
}
B 类
package com.lma.flad;
@Entity
class ClassB{
@Id
private Long id
private String name;
private String surName
}
C 类
package com.lma.flad;
@Entity
class ClassC{
@ID
private Long id
private String name;
private String surName
}
persistance.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="dtmowliance">
<class>com.lma.flad.ClassB</class>
<class>com.lma.flad.ClassC</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
<properties>
<property name="hibernate.cache.region.factory_class"
value="org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
</properties>
</persistence-unit>
</persistence>
在这种情况下,hibernate 只会分析在持久化 xml 文件中找到的类(classA 和 Class B)
我如何在 spring boot 中使用 java config 来做 persistence.xml
【问题讨论】:
-
如果您使用的是 springboot,您可以使用应用程序属性文件进行配置
-
是的,我使用的是 springboot,我如何使用应用程序属性文件来做到这一点?
-
视图与 Hibernate 的实体相同,视图可以有 '@Id' 装饰器。将“@Id”装饰器添加到您认为可用于识别记录的视图字段。在您的示例中,它可以是字段“名称”
-
记住@ID 对于 JPA 中的每个实体都是必需的 stackoverflow.com/questions/29561885/…
标签: java spring hibernate spring-boot