小编Pri*_*iya的帖子

System.exit的替代方案(1)

由于各种原因System.exit,在编写Java应用程序时,调用是不受欢迎的,那么如何通知调用进程并非所有内容都按计划进行?

编辑: 1表示standin任何非零退出代码.

java process

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

Null是引用类型,它是String引用还是Object引用?

null是一个引用,它只是null类型,即null不是对象类型.但是,当我运行下面的代码片段我很惊讶,当我传递null方法method(null);调用method(String s)没有method(Object o).

如果null本身由Java定义的,而不是对象类型的类型,那么为什么它叫method(String s)method(Object o)

public class Test {
    public static void main(String[] args) {
        method(null);
    }
    public static void method(Object o) {
        System.out.println("Object impl");
    }
    public static void method(String s) {
        System.out.println("String impl");
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑

我添加了一个方法:

public static void method(Integer s) {
   System.out.println("String impl11");
}
Run Code Online (Sandbox Code Playgroud)

现在编译器给出了错误The method method(Object) is ambiguous for the type Test.

Integer a = null; …
Run Code Online (Sandbox Code Playgroud)

java oop object

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

使用java和hibernate进行数据"安全性"

我目前正在处理的系统需要一些基于角色的安全性,这在Java EE堆栈中得到了很好的照顾.该系统旨在成为业务领域专家在其上编写代码的框架.

但是,还需要数据security.也就是说,最终用户可以看到哪些信息.

这实际上意味着降低数据库中行(甚至列)的可见性.

我们正在使用Hibernate来实现持久性.但是,我们使用自己的注释,以便不向业务领域专家公开我们的持久性选择.

对于基于行的安全性,这意味着我们可以添加注释,例如@Secured在实体级别,这会导致将额外的列添加到基础表以约束我们的选择?

对于基于列的安全性,我们可能必须@Secured要么协助生成查询,要么使用方面来过滤返回的信息?

我很想知道这对hibernate的缓存机制有何影响?

我相信很多人会有同样的问题,我想知道你是怎么接近这个的?

非常感激...

java security hibernate java-ee

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

Hibernate:JDBC类型没有Dialect映射:101

我从数据库中选择记录时遇到问题,

查询:

 SELECT rownum as id, mm.metric_name, dm.aggregated_value_float,
 dm.created_timestamp, s.type, s.name as subelement_name FROM
 daily_metric dm, subelement s, metric_metadata mm  WHERE
 dm.subelement_id =s.subelement_id AND 
 TRUNC(dm.created_timestamp)='15-JAN-15' AND s.subelement_id =1456376 
 and dm.metric_metadata_id = mm.metric_metadata_id order by 1,2 desc
Run Code Online (Sandbox Code Playgroud)

代码:

Query query = session.createSQLQuery(query);
Object o =  query.uniqueResult();
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪

org.hibernate.MappingException: No Dialect mapping for JDBC type: 101
    at org.hibernate.dialect.TypeNames.get(TypeNames.java:87)
    at org.hibernate.dialect.TypeNames.get(TypeNames.java:118)
    at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:653)
    at org.hibernate.loader.custom.JdbcResultMetadata.getHibernateType(JdbcResultMetadata.java:93)
    at org.hibernate.loader.custom.ScalarResultColumnProcessor.performDiscovery(ScalarResultColumnProcessor.java:62)
    at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:496)
    at org.hibernate.loader.Loader.getResultSet(Loader.java:2073)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
    at org.hibernate.loader.Loader.doQuery(Loader.java:909)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
    at org.hibernate.loader.Loader.doList(Loader.java:2551)
    at org.hibernate.loader.Loader.doList(Loader.java:2537) …
Run Code Online (Sandbox Code Playgroud)

java sql database orm hibernate

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

标签 统计

java ×4

hibernate ×2

database ×1

java-ee ×1

object ×1

oop ×1

orm ×1

process ×1

security ×1

sql ×1