小编Cha*_*nya的帖子

在Hibernate中使用惰性的属性

hibernate中property标记的lazy属性允许按照以下链接延迟加载属性:http : //docs.jboss.org/hibernate/orm/3.3/reference/zh-CN/html/mapping.html#mapping-declaration -属性

lazy(可选-默认为false):指定在首次访问实例变量时应延迟获取此属性。它需要构建时字节码检测。

但是,当我尝试为我的其中一个属性设置lazy = true时,在此示例中它不会延迟加载:

休眠映射文件:

<hibernate-mapping package="org.hibernate.tutorial.domain">

    <class name="Event" table="EVENTS" select-before-update="true">
        <id name="id" column="EVENT_ID">
            <generator class="native" />
        </id>
        <property name="date" type="timestamp" column="EVENT_DATE" />
        <property name="title" lazy="true"/>

        <set name="participants" table="PERSON_EVENT" inverse="true">
            <key column="EVENT_ID" />
            <many-to-many column="PERSON_ID" class="Person" />
        </set>
    </class>

</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

程序:

public static void main(String[] args) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        Event event = (Event) session.get(Event.class, 135L);
        session.getTransaction().commit();
        System.out.println(event);
        HibernateUtil.getSessionFactory().close();
    }
Run Code Online (Sandbox Code Playgroud)

由休眠生成的查询:

Hibernate: select event0_.EVENT_ID as EVENT1_0_0_, event0_.EVENT_DATE as EVENT2_0_0_, event0_.title as title0_0_ from …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate lazy-loading properties

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

从Java集合中访问元素的速度更快

我试图了解哪些更快从Java集合中访问元素,如ArrayList,LinkedList,HashSet,TreeSet,HashMap,TreeMap等.

从这个问题:适合快速获取和快速删除的java集合,我知道ArrayList将O(1)和TreeMap作为O(log n)

其中:Map/ArrayList:哪一个搜索元素更快,显示ArryList为O(n),HashMap为O(1),TreeMap为O(log n)

在哪里:为什么处理排序数组比处理未排序数组更快?说排序数组比未排序数组快.由于TreeMap中的元素已排序,那么我可以假设所有已排序的集合都比未排序的集合更快吗?

请帮助我理解哪些更快用于访问列表,集合,地图等实现的java集合中的元素.

java collections performance

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

Java Pattern.compile表达式 - "/login?(\\\?+)?"

我想了解下面给出的正则表达式:

"/login?(\\?.+)?"
Run Code Online (Sandbox Code Playgroud)

我已经阅读了Java文档,但我无法清楚地理解这个表达式的目的.

我知道它会查找一个以字符串开头的字符串/login,然后是字符?(\\?.+)?代表什么?请帮助我理解这一点.

java regex

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

在Hibernate中使用@Synchronize有什么用处

根据Hibernate文档,

Hibernate映射的视图和基表之间没有区别.这在数据库级别是透明的,尽管某些DBMS不能正确支持视图,尤其是对于更新.有时您希望使用视图,但无法在数据库中创建视图(即使用旧模式).在这种情况下,您可以使用@ org.hibernate.annotations.Subselect将不可变和只读实体映射到给定的SQL子选择表达式:

@Entity
@Subselect("select item.name, max(bid.amount), count(*) "
        + "from item "
        + "join bid on bid.item_id = item.id "
        + "group by item.name")
@Synchronize( {"item", "bid"} ) //tables impacted
public class Summary {
    @Id
    public String getId() { return id; }
    ...
}
Run Code Online (Sandbox Code Playgroud)

声明表以与此实体同步,确保自动刷新正确发生,并且针对派生实体的查询不返回过时数据.可用作属性和嵌套映射元素.

我不清楚同步注释的声明在这里.自动刷新有什么问题?这里派生的实体是什么?为什么我们会得到过时的数据?同步注释如何解决此问题.

有人可以帮助我理解这一点.

java hibernate

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

如何在显示标签titlekey中映射应用程序资源键?

我试图在显示标记标题键中使用应用程序资源属性.什么都没显示.请帮忙继续.我正在使用struts2.

struts2 displaytag

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

WSDL 端口的详细信息

我正在使用在线文档学习WSDL,因为WSDL Ports它提到:

一个端口不得指定多个地址。

端口不得指定地址信息以外的任何绑定信息。

给出的例子是:

<portType name="StockQuotePortType">
  <operation name="GetLastTradePrice">
    <input message="tns:GetLastTradePriceInput"/>
    <output message="tns:GetLastTradePriceOutput"/>
  </operation>
</portType>
Run Code Online (Sandbox Code Playgroud)

这个例子中的地址是什么?又是什么意思A port MUST NOT specify any binding information other than address information.?请帮助我理解这些概念。

java wsdl web-services

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

Java并发实践中的CountDownLatch示例

我正在阅读 Java Concurrency In Practice 一书,遇到了 CountDownLatch。

下面是给出的例子:

public class TestHarness {
    public long timeTasks(int nThreads, final Runnable task)
        throws InterruptedException {

        final CountDownLatch startGate = new CountDownLatch(1);
        final CountDownLatch endGate = new CountDownLatch(nThreads);

        for (int i = 0; i < nThreads; i++) {
            Thread t = new Thread() {

                public void run() {
                    try {
                        startGate.await();
                        try {
                            task.run();
                        } finally {
                            endGate.countDown();
                        }
                    } catch (InterruptedException ignored) { }
                }
            };
            t.start();
        }
        long start = System.nanoTime();
        startGate.countDown(); …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading

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

ServerSocket中setReuseAddress的目的是什么?

我有一个简单的逻辑Java,它检查端口是否已被使用:

public static boolean isPortInUse(int port)
  {
    ServerSocket socket = null;
    try {
      socket = new ServerSocket(port);
      socket.setReuseAddress(true);
    } catch (Exception e) {
        return true;
    }
    finally
    {
      if (socket != null) {
        try {
          socket.close();
        } catch (Exception e) {
          return true;
        }
      }
    }
    return false;
  }
Run Code Online (Sandbox Code Playgroud)

我是socket编程的新手,所以我无法理解"setReuseAddress"这里方法的用途.我已经通过了这个链接,但我没有明确它的目的.

java sockets

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

我的Eclipse IDE中缺少Web服务选项

我正在使用Eclipse IDE,现在正计划创建一个简单的项目来创建Web服务程序。但是,我的eclpise中没有任何选项可以帮助我创建Web服务。

这是我完成时得到的详细信息Eclipse --> Help --> About Eclipse Platform

Eclipse Platform

Version: 3.8.1
Build id: debbuild

(c) Copyright Eclipse contributors and others 2000, 2012.  All rights reserved.
Visit http://www.eclipse.org/platform

This product includes software developed by the
Apache Software Foundation http://www.apache.org/
Run Code Online (Sandbox Code Playgroud)

当我这样做的Project --> New --> Other --> Web Services -->时候,我只有两个选择:

- Ant Files 
- WSDL Files
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个称为Web Service创建新的Web服务的选项,但是我的日食缺少该选项。

我不想下载新的eclipse,所以我想到了要在我的eclipse中下载所有缺少的插件。

我已经看完这篇文章-> Eclipse:Web Services Option丢失了,但是答案并没有说明我需要设置什么确切的插件来解决我的问题。上面帖子中的评论之一说要遵循这样,You can do a help->install new software and install WST …

java eclipse web-services

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

order_updates属性如何避免Hibernate中的死锁

根据Hibernate文档,该属性的详细信息hibernate.order_updates如下:

强制Hibernate按要更新的项的主键值对SQL更新进行排序.这将导致高度并发系统中更少的事务死锁.例如,真的 假

因此,通过将此属性设置为false,可以发生死锁.请帮助我理解这一点.

java hibernate

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