英文:
Hibernate embeddable without annotation
问题
我正在尝试开发一个带有通用类的库,以便集成到其他项目中。例如,一个表示区间的类:
@Data
public class Interval {
private Instant start;
private Instant end;
}
由于这个库可能会被那些不使用 Hibernate / Spring 的项目使用,我希望不需要包含 Hibernate 依赖及其注解。
从与 Hibernate 一起使用此库的项目的角度来看,是否有办法使上述类在不创建子类和自己注解子类的情况下成为 Embeddable
?
英文:
I'm trying to develop a library with generic classes to integrate into other projects. For example, a class representing interval:
@Data
public class Interval {
private Instant start;
private Instant end;
}
Since this library might be used by the projects that do not work with Hibernate / Spring, i would like not to include Hibernate dependency and its annotations.
Is there any way, from the perspective of a project using this library together with Hibernate, to make the class above Embeddable
without subclassing it and annotating the child class myself ?
答案1
得分: 1
好的,以下是翻译好的内容:
首先,注解只是注解,所以依赖于这些注解的项目并不需要在使用这些类时依赖于 JPA/Hibernate。如果注解类不可用,那么这些注解将不会可用。
除此之外,你还可以创建一个 orm.xml 文件来提供映射信息。你的库的用户将需要导入该文件。
英文:
Well, for once, annotations are just annotations, so depending projects don't need a dependency on JPA/Hibernate to use the classes. The annotations will simply not be available if the annotation classes are not available.
Apart from that, you could also create an orm.xml file that provides the mapping information. Users of your library would then have to import that file.
答案2
得分: 0
供日后参考,使用Hibernate创建自定义类型将是一个明智的选择,可以将外部库集成到受Hibernate管理的实体中。
链接:https://www.baeldung.com/hibernate-custom-types
英文:
For later reference, creating custom types in Hibernate will be a great choice to make external library integratable into Hibernate-managed entities.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论