小编ben*_*rre的帖子

将 int 与 enum 匹配的优雅方式,其中每个 enum 类型对应一个范围

我正在尝试想一个优雅的方法来用Java解决这个问题:

给定一个 0-100 的整数,这是将其转换为枚举的优雅方法,其中枚举的每个可能值对应于一个整数范围。

例如

enum grades{

    A -> 90-95%
    B -> 85-90%,
    C -> 75-85%
    ...
    etc

}
Run Code Online (Sandbox Code Playgroud)

有人能想出一种简洁的方法来编写一个给定 int 返回成绩枚举或抛出 IllegalArgumentException 的方法吗?

java enums

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

Hibernate HQL带接口

根据Hibernate文档的这一部分,我应该能够在HQL中查询任何java类

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html#queryhql-polymorphism

不幸的是,当我运行此查询...

"from Transaction trans where trans.envelopeId=:envelopeId"
Run Code Online (Sandbox Code Playgroud)

我收到消息"事务未映射[来自Transaction trans where trans.envelopeId =:envelopeId]".

Transaction是一个接口,我必须实现它的实体类,我希望在HQL查询中返回一个类型为Transaction的Collection.

java orm entity hibernate hql

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

IE8中GET请求的URL允许的最大大小是多少?

IE8中GET请求的URL允许的最大大小是多少?我有一个〜7700个字符的网址,适用于IE以外的所有浏览器.

internet-explorer internet-explorer-8

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

Junit测试创建其他测试

通常情况下,我会在我选择的集成服务器中显示一个junit测试作为一个通过或失败的测试(在这种情况下,我使用teamcity).我需要进行此特定测试的是能够遍历目录结构测试,我们的数据文件都可以在不抛出异常的情况下进行解析.

因为我们有30,000多个文件,解析这个测试每个1-5秒将在自己的套件中运行.问题是我需要一种方法让一个代码运行作为每个文件的一个junit测试,这样如果30个文件中的12个文件失败,我可以看到哪个12个失败而不仅仅是那个失败,抛出了一个运行时异常并停止了测试.

我意识到这不是一种真正的"单元"测试方式,但这种模拟对于确保我们的内容提供商得到检查并且不检查无效文件非常重要.

有什么建议?

java junit continuous-integration integration-testing

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

Warp Persist替代品

有没有人遇到过warp-persist的替代方案?

http://code.google.com/p/warp-persist/

似乎不再有经线持续发展.

java guice

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

HQL - 查找属性x最高的实体

HQL查询可以这样做吗?

"获取UserEntity,其中属性creationTimestamp是所有UserEntities中最新的".

本质上是一个返回我们程序中"最新用户"的查询,其中每个UserEntity都有一个字段映射到数据库中的timestamp列.

java sql hibernate hql

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

如何覆盖CssResource

目前我有一个在gwt中使用CssResource的应用程序,就像这样......

interface MyClientBundle extends ClientBundle{

@Source("images/one.png")
Image someImageThatAlwaysLooksTheSame();

@Source("images/two.png")
Image someImageThatDependingOnTheClientThemeChanges();

@Source("css/main.css")
MyCssResource css();

}
Run Code Online (Sandbox Code Playgroud)

然后是CssResource接口

interface MyCssResource extends CssResource{

String someStyleThatNeverChanges();

String someStyleThatChangesDependingOnTheClient();

}
Run Code Online (Sandbox Code Playgroud)

如果我重写MyClientBundle来创建和接口名为MyPinkThemedClientBundle

interface MyClientBundle extends ClientBundle{

@Source("images/one.png")
Image someImageThatAlwaysLooksTheSame();

@Source("images/**twoPinkVersion**.png")
Image someImageThatDependingOnTheClientThemeChanges();

@Source("css/**mainPinkVersion**.css")
MyPinkCssResource css();

}
Run Code Online (Sandbox Code Playgroud)

当然,MyPinkCssResource扩展了MyCssResource

interface MyPinkCssResource extends MyCssResource{


} 
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当我尝试编译它时,GWT编译器抱怨"css/mainPinkVersion.css"缺少样式名称"someStyleThatNeverChanges".我原以为cssresource接口会继承其超类的后备css文件.如果不是这种情况,是否可以实现扩展CssResource并仅覆盖您关心的类但是否使用超类的后备.css文件的效果?

gwt cssresource

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

在MySQL5中添加复合外键失败

我试图强制用户的地址信息中的州/省和国家名称来自我列出国家和州/省的一组表格.为了做到这一点,我尝试运行这样的alter table命令......

ALTER TABLE User
    ADD FOREIGN KEY (stateProvince,country)
    REFERENCES `StateProvince`(`name`,`countryName`);
Run Code Online (Sandbox Code Playgroud)

然后我收到这条消息......

使用外键约束创建表'realtorprint_dev/#sql-d5c_3d'失败.引用的表中没有索引,其中引用的列显示为第一列.

有没有人知道如何处理此错误消息?

这是州和国家表的创建......

CREATE TABLE Country (
  name varchar(40) NOT NULL,
  abbreviation varchar(4) NOT NULL,
  PRIMARY KEY  (name)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

CREATE TABLE StateProvince (
  countryName varchar(40) NOT NULL,
  name varchar(100) NOT NULL,
  abbreviation varchar(3) NOT NULL,
  PRIMARY KEY  (countryName,name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

alter table StateProvince
add constraint FK_StateProvince_Country
foreign key (countryName)
references Country (name);
Run Code Online (Sandbox Code Playgroud)

现在对于用户表...

create table realtorprint_dev.user (
  id bigint not null,
  created datetime, …
Run Code Online (Sandbox Code Playgroud)

mysql mysql5 foreign-key-relationship composite-key

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

Hibernate条件查询,它使用相关实体的主键来过滤结果

在我们的系统中,我们的数据库如下所示

一个代理商有很多经纪人,一个经纪人有很多用户,一个用户有很多订单.

我正在尝试使用hibernate标准来查找指定经纪商下的所有用户订单.在简单的SQL中,这将非常容易.我可以在条件api中执行此操作吗?我发现在使用点击和过滤器类型时,条件api工作得特别好,因为您可以构建一个非有序的限制列表并将它们添加到条件中.

目前我有这个不起作用

final Session session = (Session) entityManager.getDelegate();
    final Brokerage brokerage = userAdmin.loadBrokerage(brokerageId);
    @SuppressWarnings({"UnnecessaryLocalVariable", "unchecked"})
    final List<UserOrder> userOrders = session
            .createCriteria(UserOrder.class)
            .add(Restrictions.eq("user.brokerage", brokerage))
            .list();
Run Code Online (Sandbox Code Playgroud)

我收到消息"由以下原因引起:org.hibernate.QueryException:无法解析属性:user.brokerage:com.printlogix.rp.server.domain.UserOrder:".

你能将param名称传递给Restrictions.eq,如"object.parentobject.property"吗?

hibernate jpa hibernate-criteria

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

Hibernate/JPA在启动时未对DB模式进行验证

出于某种原因,hibernate没有捕获诸如将实体映射到不存在的表之类的问题.我的persistence.xml文件看起来像这样......

<?xml version="1.0" encoding="UTF-8" ?>
<persistence 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_1_0.xsd" version="1.0">

    <!-- A JPA Persistence Unit -->
    <persistence-unit name="printLogixJpaUnit" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <class>com.printlogix.rp.server.domain.User</class>
        <class>com.printlogix.rp.server.domain.UserImage</class>
        <class>com.printlogix.rp.server.domain.TemplateInstance</class>
        <class>com.printlogix.rp.server.domain.UserOrder</class>
        <class>com.printlogix.rp.server.domain.OrderLineItem</class>
        <class>com.printlogix.rp.server.domain.OrderStatus</class>
        <class>com.printlogix.rp.server.domain.AgencyImage</class>
        <class>com.printlogix.rp.server.domain.Agency</class>
        <class>com.printlogix.rp.server.domain.Brokerage</class>
        <class>com.printlogix.rp.server.domain.SystemTemplate</class>
        <class>com.printlogix.rp.server.domain.TemplateType</class>
        <class>com.printlogix.rp.server.domain.Product</class>
        <class>com.printlogix.rp.server.domain.ProductDefinition</class>
        <class>com.printlogix.rp.server.domain.ExpeditedAddress</class>
        <class>com.printlogix.rp.server.domain.BrokerageUser</class>
        <class>com.printlogix.rp.server.domain.StateProvince</class>
        <class>com.printlogix.rp.server.domain.Country</class>
        <class>com.printlogix.rp.server.domain.AwardClub</class>
        <class>com.printlogix.rp.server.domain.SuperUser</class>
        <class>com.printlogix.rp.server.domain.AgencyUser</class>
        <class>com.printlogix.rp.server.domain.RememberMe</class>
        <class>com.printlogix.rp.server.domain.PasswordResetRequest</class>
        <class>com.printlogix.rp.server.domain.SystemTheme</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>

        <properties>
            <property name="hibernate.show_sql" value="true"/>
            <!--Begin Credentials -->
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost/realtorprint_dev?autoReconnect=true"/>
            <property name="hibernate.connection.username" value="test"/>
            <property name="hibernate.connection.password" value="test"/>
            <!--End Credentials -->
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
        </properties>
    </persistence-unit>

</persistence>
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa jpa-2.0 guice-persist

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