小编mar*_*bol的帖子

如何在运行时检索JPA中的实体的映射表名称?

是否可以确定实体的本机表名称?

如果存在Table注释,则很容易:

entityClass.getAnnotation(Table.class).name()
Run Code Online (Sandbox Code Playgroud)

但是如果没有Table注释呢?

Hibernate通过Configuration类提供此信息:

configuration.getClassMapping(entityClass.getSimpleName()).getTable().getName()
Run Code Online (Sandbox Code Playgroud)

JPA中有类似的东西吗?

java entity jpa

29
推荐指数
2
解决办法
3万
查看次数

你如何对Java EE代码进行单元测试?

我想问一下您测试Java EE代码的首选方法?

我发现只有三个项目,它们试图帮助在Java EE环境中编写单元测试代码:

所以我想,

  • 是否有任何框架帮助编写(j)Java EE代码的单元测试?
  • 你使用嵌入式Java EE服务器,如jboss或glassfish v3?
  • 你自己模拟和注射吗?

非常感谢...

java junit unit-testing ejb-3.0 java-ee-5

25
推荐指数
1
解决办法
2万
查看次数

Maven:如何使用没有时间戳文件名的快照工件创建程序集?

我有一个包含带时间戳的快照工件的存储库.

我想创建一个包含依赖项的程序集.这很好用.但工件名称包含时间戳.所以我想知道如何仅从程序集的文件名中删除时间戳.

我已经使用了这个dependencySet:

<outputFileNameMapping>${artifact.artifactId}-${artifact.version}.${artifact.extension}</outputFileNameMapping>
Run Code Online (Sandbox Code Playgroud)

但版本接缝已包含时间戳.那么有没有机会获得1.1.1-SNAPSHOT而不是1.1.1-20100323.071348-182

我正在使用maven-assembly-plugin的2.2-beta-4版本.

versioning maven-2 assemblies artifacts maven-3

15
推荐指数
1
解决办法
8997
查看次数

如何在maven中使用不同的JAR进行编译和测试?

我编译我的程序对javaee-api.但是对于Junit测试,我必须使用像glassfish的javaee.jar这样的特定实现来避免像java.lang.ClassFormatError这样的错误:在类文件javax/persistence/Persistence中不是本机或抽象的方法中的Absent Code属性(另请参见1).

因此,请避免使用仅在glassfish实现中可用的方法,我想使用常规api编译我的工件,但是使用实现jar运行junit.但两者都提供相同的命名类和推理,因此类加载器遇到麻烦.

解决这个问题的最佳方法是什么?我可以用maven解决这个问题吗?

非常感谢

maven-2 unit-testing jar classloader dependency-management

8
推荐指数
1
解决办法
3088
查看次数

可以使用maven版本插入过滤后的资源文件吗?

我想知道,是否有可能获得当前使用的maven版本来过滤资源文件.

我有一个资源文件,由maven过滤:

version=${project.version}
buildDate=${timestampFormatted}
buildBy=${user.name}
name=${project.artifactId}
buildVersion=${build.number}
osName=${os.name}
osArch=${os.arch}
osVersion=${os.version}
fileEncoding=${file.encoding}
Run Code Online (Sandbox Code Playgroud)

现在我更愿意保存目前使用的maven版本.

有什么事${maven.version}吗?

非常感谢.

maven-2 properties filter

4
推荐指数
1
解决办法
414
查看次数

Java EE 5的Cron语法?

Java EE中的计时器任务不是很舒服.是否有任何util,用cron语法配置定时器,如"0 20 20**"?

我想知道,如果这是一个使用Quartzinside(集群)Java EE应用程序的好方法.根据http://www.prozesse-und-systeme.de/serverClustering.html(德语页面),Quartz和Java EE集群存在限制:

  • JDBC必须用作Quartz的作业存储
  • 只允许与集群关联的Quartz实例使用此JDBC作业存储
  • 必须将所有群集节点同步到分秒节点
  • 所有群集节点必须使用相同的quartz.properties文件

我更喜欢一种更简单的方法来配置计时器服务,而不是Java EE管理的调度程序.

cron scheduling timer quartz-scheduler java-ee-5

4
推荐指数
1
解决办法
2995
查看次数