我有一个Person对象列表:
List<Person> allPersons = new ArrayList<Person>();
Run Code Online (Sandbox Code Playgroud)
Person对象有一个field被调用的Address.
我想检查列表中至少有一个人是否有某个地址我该怎么做?
我知道在使用HashMap时有一个.containsValue()方法,但有什么类似的ArrayList吗?
编辑:请注意我在每个对象中搜索特定的字段值,而不是对象本身?
我正在尝试使用a native query返回column表中某个对象的值。
我知道本机查询可用于返回对象,即在此示例中:
public interface UserRepository extends JpaRepository<User, Long> {
@Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?1", nativeQuery = true)
User findByEmailAddress(String emailAddress);
}
Run Code Online (Sandbox Code Playgroud)
但是,我将如何编写此代码以返回一列的值?即,如果我只想返回用户的名称(字符串),而不是用户object?
在下面的方法我有一个ArrayList的Strings。
我检查这些字符串中是否有任何一个在 txt 文件(checkIfWordIsInTextFile方法)中。
如果一个字符串在这个列表中,我想把它放在列表的最后,然后返回重新排序的列表。
我正在尝试使用 set 方法,但我不确定如何将字符串设置为列表中的最后一个元素。
当前方法:
public List<String> placeParentsLastInLineItemList(List<String> listToReorder){
for(String string: listToReorder){
if(checkIfWordIsInTextFile(string)==true){
listToReorder.set(,string); //how to set the string to the last element in list?
}
return listToReorder;
}
Run Code Online (Sandbox Code Playgroud) 之间有什么区别TIMESTAMP,DATE和TIMESTAMP with TIMEZONE?
例如,如果我想搜索01-JAN-1990和 之间的所有条目01-JAN-2000 ,我将如何以每种格式进行搜索?
我一直在寻找时间戳:
SELECT COUNT(*) FROM TABLE_NAME WHERE DATE BETWEEN '01-JAN-1990' AND '01-JAN-2000;
Run Code Online (Sandbox Code Playgroud)
但我不确定使用什么格式来搜索DATE或TIMESTAMP WITH TIMEZONE.
我尝试使用EntityManager运行查询时收到以下错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8
Run Code Online (Sandbox Code Playgroud)
可能是什么导致了这个?
码:
public static void main(String [] args) {
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myClass");
EntityManager em = entityManagerFactory.createEntityManager();
List<String> results= em.createQuery(
"SELECT * FROM myClass ")
.setMaxResults(10)
.getResultList();
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 Mockito 来模拟 Java 持久性查询的结果集:
被嘲笑的代码:
public void queryMethod(String name){
List<Person> result = persistence.entityManager().createQuery(
"Select p from Person p +
" where p.name= :uniqueId" , Person.class)
.setParameter("name", name)
.getResultList();
}
Run Code Online (Sandbox Code Playgroud)
测试代码:
String name = "anyName";
Person person = mock(Person.class);
List<Person> personList = new ArrayList<>();
personList.add(person);
TypedQuery query = mock(TypedQuery.class);
when(entityManager.createQuery(anyString(), Matchers.<Class<Object>>anyObject())).thenReturn(query);
when(query.setParameter(1, name)).thenReturn(query);
when(query.getResultList()).thenReturn(personList);
Run Code Online (Sandbox Code Playgroud)
我收到空指针错误:
List<Person> result = persistence.entityManager().createQuery(
Run Code Online (Sandbox Code Playgroud)
可能是什么原因造成的?
我想测试我的方法在无法模拟的同一类中调用了另一个方法。
例:
public void methodToTest(){
//other stuff to test that can be mocked
someClassICanMock.doSomething();
//method within same class that cannot be mocked
methodFromSameClassIWantToVerify();
}
Run Code Online (Sandbox Code Playgroud)
我如何使用a verify来检查我的测试方法methodFromSameClassIWantToVerify();?
编辑:不是重复的,因为我专门指的是如何使用Mockito对此进行测试。
我有以下内容 SQL Query :
SELECT COUNT(*) FROM DOG where ID = 'SampleId';
Run Code Online (Sandbox Code Playgroud)
我试着写这个java:
public int returnCountOfDogTable(String id){
String sql= "SELECT COUNT(*) FROM DOG WHERE ID =:id";
Query query = persistence.entityManager().createNativeQuery(sql);
query.setParameter("id", id);
List<Integer> resultList = query.getResultList();
int result = resultList.get(0);
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个例外:
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我有以下Java对象:
public class PersonDetails {
private Person person;
private List<Relative> relatives;
public PersonDetails() {};
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试为此创建Stub JSON,以便我可以使用它将其解析为Java对象GSON.
当我尝试使用下面的JSON时,我收到错误:
JSON only allows one top level value
Run Code Online (Sandbox Code Playgroud)
我怎样才能改变JSON它以使其有效?
我当前的JSON:
{
"Person": {
"id": "123",
"name: "stubName"
},
[
"Relative": {
"name": "relative1",
"relation: "mother"
}
]
}
Run Code Online (Sandbox Code Playgroud) 我有一个Java Object我试图映射到一个JSON对象。
是否有在线工具可以打印 Java 对象toString()并将其转换为JSON对象?
我知道我可以在代码中使用例如:
https://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/