小编jav*_*ber的帖子

Hibernate:关于@GeneratedValue如何工作的概述

我很难找到对@GeneratedValue的准确解释,以及从数据库角度出发的不同策略.

是否始终查询数据库并返回可用的最后一个值?如果2个不同的进程(不同的Hibernate应用程序)同时访问同一个表会发生什么?特别是自动数值和序列

hibernate

13
推荐指数
1
解决办法
3万
查看次数

Spring 4.1.1中缺少org.springframework.scheduling.quartz.JobDetailBean

我有点失去理智.一直遵循4.1.1文档

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#scheduling-quartz-jobdetail

它说使用该类JobDetailBean

该类甚至不存在于包中.如果我将我的pom更新为4.0.7那就是.文档是否过时了?这个课程是否会被弃用?

spring

10
推荐指数
1
解决办法
3954
查看次数

Guice:避免懒惰注射

我有一个类Cache,创建起来非常昂贵,但之后设置为单例并注入我的服务层.

@Override
protected void configure() {            
    bind(Cache.class).in(Singleton.class);

    bind(Service.class).to(ServiceImpl.class).in(Singleton.class);      
}

@Inject
    public ServiceImpl(Cache cache){
        this.cache = cache;
    }

public Cache(){
//Expensive stuff
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我试图访问其中一个方法时,Cache中的public()似乎只会执行

我可以以某种方式使对象在服务器启动时构建吗?

guice

9
推荐指数
1
解决办法
6399
查看次数

Maven可执行jar与外部路径上的库

我的jar没有运行,我可以告诉它尝试运行,因为log4j文件管理创建日志文件夹,但没有任何反应,日志是空白的.

我的问题是我将jar文件放在名为bin的文件夹中,并将库放在名为lib的文件夹中

我在嘲笑这个:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
    <outputDirectory>${staging.dir}/bin</outputDirectory>
      <archive>
        <manifest>
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
          <addClasspath>true</addClasspath>
          <mainClass>com.Main</mainClass>
          <classpathPrefix>../lib/</classpathPrefix>
        </manifest>
      </archive>
    </configuration>
  </plugin>
Run Code Online (Sandbox Code Playgroud)

<plugin>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>${staging.dir}/lib</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用maven-assembly-plugin,但它包装了jar上的所有东西,我真的需要有文件夹bin和lib

我需要设置什么才能使其正常工作?

编辑:META-INF文件

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: me
Build-Jdk: 1.6.0_26
Main-Class: com.Main
Class-Path: ../lib/ojdbc6-11.2.0.jar ../lib/sqljdbc4-4.2.0.jar ../lib/
mysql-connector-java-5.1.17.jar ../lib/hibernate-core-3.6.5.Final.jar
../lib/antlr-2.7.6.jar ../lib/commons-collections-3.1.jar ../lib/dom
4j-1.6.1.jar ../lib/hibernate-commons-annotations-3.2.0.Final.jar ../
lib/hibernate-jpa-2.0-api-1.0.0.Final.jar ../lib/jta-1.1.jar ../lib/s
lf4j-api-1.6.1.jar ../lib/hibernate-entitymanager-3.6.5.Final.jar ../
lib/cglib-2.2.jar ../lib/asm-3.1.jar ../lib/javassist-3.12.0.GA.jar .
./lib/slf4j-log4j12-1.6.1.jar ../lib/log4j-1.2.16.jar ../lib/commons-
codec-1.5.jar ../lib/lablib-checkboxtree-3.3-20110114.141734-3.jar
Run Code Online (Sandbox Code Playgroud)

原来META-INF文件不正确.原因是maven-archiver-plugin将时间戳重命名为SNAPSHOT库作为默认行为

根据Maven …

jar maven

5
推荐指数
1
解决办法
4971
查看次数

如何在smartGWT中创建自定义验证器?

我有2个TimeItems,我希望能够验证第二个项目的值不大于第一个项目的值.

我知道我必须从CustomValidator继承并将我的验证逻辑放在#condition中,我可以使用#getFormItem检索已验证项的值,但我不知道如何将第一个字段的值传递给验证器

smartgwt

5
推荐指数
1
解决办法
5826
查看次数

使用Guice的GenericDAO,使用Generics和ParameterizedType

大多数人应该熟悉为Spring + hibernate制作Generic DAO.参考资料来自http://www.ibm.com/developerworks/java/library/j-genericdao/index.html,单DAO和通用CRUD方法(JPA/Hibernate + Spring)有所改进

这种改进是对类型的检测,因为它是超类的一部分,而不是使用构造函数来判断它是哪个类

public GenericDaoJpaImpl() {
    ParameterizedType genericSuperclass = (ParameterizedType) getClass()
         .getGenericSuperclass();
    this.entityClass = (Class<T>) genericSuperclass
         .getActualTypeArguments()[0];
}
Run Code Online (Sandbox Code Playgroud)

但是,这个演员会因Guice而失败.要注入,接口和类需要绑定在这样的模块中

bind(TestDao.class).to(TestDaoImpl.class);
Run Code Online (Sandbox Code Playgroud)

通过这样做,我们的GenericDAO的构造函数将无法工作,因为以下内容:

getClass().getGenericSuperclass() = java.lang.Class
getClass().getName() = com.gwtplatform.samples.basic.server.dao.TestDaoImpl$$EnhancerByGuice$$5fe0d6fd
Run Code Online (Sandbox Code Playgroud)

与Spring + Hibernate返回的内容相反

getClass().getGenericSuperclass() = sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl
getClass().getName() =  com.gwtplatform.samples.basic.server.dao.TestDaoImpl
Run Code Online (Sandbox Code Playgroud)

我现在只是在我的扩展DAO中使用超级构造函数,但是仍然希望获得该类型而不是提供它,任何想法?

java generics hibernate guice

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

Apache CXF WSDL2Java -exsh不在枚举值列表中返回

我正在使用CXF 2.5.2与Maven,它没有指定-exsh它工作正常.但是,当我这样做时说

-exsh文件:/ C:/wsdl/XXXX.wsdl不在枚举值列表中!

我不知道它的含义是什么.之后支持该选项并在Usage行上提及.我真的需要让它工作,因为一堆方法在WSDL中有soap:header元素.

cxf

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

Java:使用instanceof公开不同的对象方法

我已经阅读了这篇文章http://www.javapractices.com/topic/TopicAction.do?Id=31,它说使用instanceof预先检查我的对象是不好的做法.

但是在这种情况下我不知道怎么做:我有一个返回项目列表的API.此项列表返回用户和管理员

如果我投射一个像(用户)项目的项目,一旦它到达管理员,我将有一个ClassCastException

for(Item item : items){                     
                if (item instanceof User){
                    ((User)item).getName());
                    ((User)item).getEmail());
                }
                else if (item instanceof Admin){
                    ((Admin)item).getName());
                    ((Admin)item).getEmailList().getPrimary());
                }                           
            }
Run Code Online (Sandbox Code Playgroud)

由于它是一个API,我不能修改Item,Item没有关于childs的方法,而且email检索方法不同.我还有其他选择吗?

java instanceof

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

标签 统计

guice ×2

hibernate ×2

java ×2

cxf ×1

generics ×1

instanceof ×1

jar ×1

maven ×1

smartgwt ×1

spring ×1