小编vik*_*iii的帖子

如何使用Hibernate注释标记外键约束?

我正在尝试使用Hibernate注释为我的数据库表编写模型类.

我有两个表,每个表都有一个主键User和Question.

@Entity
@Table(name="USER")
public class User
{
    @Id
    @Column(name="user_id")
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id;

    @Column(name="username")
    private String username;

    // Getter and setter
}
Run Code Online (Sandbox Code Playgroud)

问题表.

@Entity
@Table(name="QUESTION")
public class Questions extends BaseEntity{

    @Id
    @Column(name="question_id")
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;

    @Column(name="question_text")
    private String question_text;

    // Getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我还有一个表UserAnswer,它有userId和questionId作为上述两个表中的外键.

但我无法找到如何在UserAnswer表中引用这些约束.

@Entity
@Table(name="UserAnswer ")
public class UserAnswer
{
    @Column(name="user_id")
    private User user;

    //@ManyToMany
    @Column(name="question_id")
    private Questions questions ;

    @Column(name="response")
    private String response;

    // Getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

java hibernate hibernate-mapping hibernate-annotations

69
推荐指数
2
解决办法
11万
查看次数

当bool = true时,为什么补码运算符不起作用?

我编写了这个C++程序,我无法理解为什么它1在第三个cout语句中打印.

#include<iostream>

using namespace std;

int main()
{
    bool b = false;
    cout << b << "\n";  // Print 0
    b = ~b;
    cout << b << "\n"; // Print 1
    b = ~b;
    cout << b << "\n"; // Print 1 **Why?**
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

0
1
1
Run Code Online (Sandbox Code Playgroud)

为什么不打印以下内容?

0
1
0
Run Code Online (Sandbox Code Playgroud)

c++ boolean complement

19
推荐指数
3
解决办法
3236
查看次数

实现数组的撤消和重做

我今天在Java采访中得到了这个问题.

我要实现的集合,其是一个数组,并且具有adddelete它只能在一个阵列的端执行的方法.

除此之外,我还要实现另外两个方法,即只能执行一次的方法undoredo方法.

例如:

设x为包含的数组 {1,5,7,9}.

现在我加入{44,66,77}并制作它{1,5,7,9,44,66,77}.

现在当我撤消它时,数组应该删除{44,66,77}.如果我之后重做,那应该回来了{1,5,7,9,44,66,77}.

同样的删除.

在复杂性和记忆方面实现这一目标的最佳方法是什么?

我对面试官的解决方案:

  1. 创建一个存储最后一个操作的字符串字段,即"添加"/"删除".
  2. 还有一个hashmap,它将key作为数组索引和value存储为数组的索引值.

根据采访者的说法,这是一个完全错误的解决方案

java arrays algorithm collections

18
推荐指数
2
解决办法
5683
查看次数

使用Apache POI创建受密码保护的Excel文件?

我正在开发一个简单的Java程序来使用(Apache POI)API创建一个Excel文件.我使用Oracle 10g作为数据库并使用ojdbc14 JAR文件.

我有一个名为USERINFO表,有三列,即USERNAME,PASSWORDNAME. 现在使用Apache POI,我已经能够把所有的行中的Excel文件.

由于该文件包含敏感数据,如用户名和密码,我想让它受密码保护.在论坛上,我发现了如何读取受密码保护的文件,而不是如何创建它们.那我怎么能做到这一点?

java excel xls apache-poi

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

为什么消息再次出现在onMessage()函数中?

ActiveMQ用来发送消息.

所以当我发送消息时,消息就会收到消息.成功插入后,即可确认.

但我确认后会有代码,可以抛出NullPointerException.

因此,为了故意产生这种异常,我已经抛出了NullPointerException.所以当它这样做时:

消息不是dequeued,并且相同的消息再次出现在该onMessage函数中.

我的代码是:

public void onMessage(Message message) {
    String msg = null;
    try
    {
        msg = receiveMessage(message);

        // Other code to insert message in db

        message.acknowledge();

        if(true)
        {
            throw new NullPointerException("npe"));
        }
            ** // Other code which might produce a null pointer exception **
        }
        catch(Exception ex)
        {
        }
    }
Run Code Online (Sandbox Code Playgroud)

为什么消息会再次onMessage()发挥作用,因为我acknowledge()也有.

因为我已经在db中插入了消息.

队列中的消息是否会被删除acknowledge()

我怎么能做到这一点?

java activemq-classic jms listener nullpointerexception

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

我怎样才能得到转发的所有推文文本并扩展140个字符?

我已经开始学习Twitter4jAPI,并从Twitter获得所有凭据和令牌以使用它.我使用的是twitter4j API 2.2.5版.

我可以timeline使用一个简单的java程序并打印它console.我可以使用下面的代码获取我完成的所有推文和转发.

List<Status> statuses;
statuses = twitter.getUserTimeline();
for (Status status1 : statuses){
   System.out.println(status1.getText());
}
Run Code Online (Sandbox Code Playgroud)

问题是我转发了一条由140个字符组成的推文,因此在转发后它变成超过140个字符.它不是在控制台中打印整个推文,而是...在最后打印.

 RT @xxxxxx: The ************************************ , but the pai.....
Run Code Online (Sandbox Code Playgroud)

我怎么能收到整条推文?

java twitter twitter4j tweets

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

如何在java中获得比较器的反转

在一个方法中,我收到一个泛型object E extends Comparable<E>作为参数.现在我想创建两个优先级comparator队列.其中一个使用E和其他使用E使用相反的队列comparator(即如果E使用'<',那么第二个队列必须使用'> =').请告诉我如何创建两个这样的队列.

queue2=new PriorityQueue<E>(0,Collections.reverseOrder(e));
Run Code Online (Sandbox Code Playgroud)

我收到的错误reverseOrder不适用.

请帮忙

java generics heap priority-queue comparator

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

如何在jackrabbit中获取旧版本节点的属性?

我创建了节点并创建了3个版本.

String path = "/my111";
MyClass m1  = new  MyClass();
m1.setPath(path);
m1.setName("Myname");
m1.setLanguage("English");      
ocm.create(m1);
ocm.save();     

for (int i = 0; i < 4; i++) {
 ocm.checkout(path);
 m1.setName("mz676666" + i);
 ocm.update(m1);
 ocm.save();
 ocm.checkin(path);         
  } 

 VersionIterator iterator = ocm.getAllVersions(path);
 while (iterator.hasNext()) {
      Version version = (Version)iterator.next();
       System.out.println("version::"+version.getName());           
}


Output :

version::jcr:rootVersion
version::1.0
version::1.1
version::1.2
version::1.3
Run Code Online (Sandbox Code Playgroud)

现在我想得到name一个版本1.2..

我试过了

org.apache.jackrabbit.ocm.version.VersionIterator iterator = ocm.getAllVersions(path);
    while (iterator.hasNext()) {
        Version version = (Version)iterator.next();
        System.out.println("version::"+version.getName());

    MyClass m1 = (MyClass) ocm.getObject(path, version.getName());
    System.out.println(m1.getName());  // But …
Run Code Online (Sandbox Code Playgroud)

java jackrabbit jcr jcr-sql2

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

JSOUP中的UserAgent?

我总是在JSOUP代码中随处可见.

Useragent 设置为Mozilla.

如果我想将其设置为谷歌浏览器或歌剧,该怎么办?

Jsoup.connect(url)
      .userAgent("Mozilla");
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?提前致谢.

java jsoup

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

HTTP 状态 500 - 无法在 struts 中创建路径 /adduser 的操作实例

我有一个 JSP 页面,其中有一个用于添加用户的超链接。

<html:link action="openadduser.do"> Add New User < /html:link>
Run Code Online (Sandbox Code Playgroud)

我的 struts-config 文件包含

<action-mappings>
        <action path="/login" name="LoginForm" validate="true" input="/index.jsp"
            type="useraction.LoginAction">
            <forward name="successadmin" path="/home.jsp" />
            <forward name="failure" path="/index.jsp" />
            <forward name="successuser" path="/welcome.jsp" />
        </action>

    <action path="/adduser" name="AdduserForm" validate="true" input="/adduser.jsp"
            type="useraction.AdduserActions">
            <forward name="success" path="/userconfirm.jsp" />
        </action>

       <action path="/openadduser" name="AdduserForm" validate="true" type="useraction.AdduserAction"
            input="/adduser.jsp">
            <forward name="success" path="/userconfirm.jsp" />
        </action>
</action-mappings>
Run Code Online (Sandbox Code Playgroud)

我的adduser.jsp包含代码

<html:form action="/adduser">
     < h1 align="center">  ADD NEW USER < /h1>
     < bean:message key="label.fname"/> <br/>
     <html:text property="fname"></html:text><br/>
     <html:errors property="fname" /><br/>
     </html:select>
    <html:submit/> …
Run Code Online (Sandbox Code Playgroud)

java struts

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