由于各种原因System.exit,在编写Java应用程序时,调用是不受欢迎的,那么如何通知调用进程并非所有内容都按计划进行?
编辑: 1表示standin任何非零退出代码.
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 EE堆栈中得到了很好的照顾.该系统旨在成为业务领域专家在其上编写代码的框架.
但是,还需要数据security.也就是说,最终用户可以看到哪些信息.
这实际上意味着降低数据库中行(甚至列)的可见性.
我们正在使用Hibernate来实现持久性.但是,我们使用自己的注释,以便不向业务领域专家公开我们的持久性选择.
对于基于行的安全性,这意味着我们可以添加注释,例如@Secured在实体级别,这会导致将额外的列添加到基础表以约束我们的选择?
对于基于列的安全性,我们可能必须@Secured要么协助生成查询,要么使用方面来过滤返回的信息?
我很想知道这对hibernate的缓存机制有何影响?
我相信很多人会有同样的问题,我想知道你是怎么接近这个的?
非常感激...
我从数据库中选择记录时遇到问题,
查询:
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)