使用反射搜索带有持久化单元的 Java 类

huangapple go评论71阅读模式
英文:

Search for java class using reflection with persistence unit

问题

我想使用持久化单元(persistence unit)和反射(reflection)来搜索一个Java类。现在我正在使用包名进行搜索。

Reflections reflections = new Reflections("com.entites");
Set<Class<? extends Object>> allClasses = reflections.getTypesAnnotatedWith(Entity.class);
英文:

I want to search for a Java class using reflection with persistence unit. Now I'm using the search with the package name

Reflections reflections = new Reflections(&quot;com.entites&quot;);
Set&lt;Class&lt;? extends Object&gt;&gt; allClasses = reflections.getTypesAnnotatedWith(Entity.class);

答案1

得分: 0

如果您有持久化单元,那么您就有类名(位于 <class>...</class> 内),并且您可以使用 Class.forName("com.entites.MyEntity") 获取 Class 对象。

例如,如果必要的话,您可以以编程方式读取 persistence.xml 文件。

我猜想持久化单元名称(<persistence-unit name="...">)与反射无关。

英文:

If you have persistense unit then you have classes names (inside &lt;class&gt;...&lt;/class&gt;) and you can get Class objects using Class.forName(&quot;com.entites.MyEntity&quot;).

For example you can programmatically read persistence.xml file if necessary.

I guess persisent unit name (&lt;persistence-unit name=&quot;...&quot;&gt;) is irrelevant to reflections.

huangapple
  • 本文由 发表于 2020年9月11日 16:26:09
  • 转载请务必保留本文链接:https://go.coder-hub.com/63843440.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定