Using a cross-sectional survey design from 11 public tertiary hospitals (a specialist hospital, four Chinese medicine hospitals, and six general hospitals) in the urban areas of Heilongjiang, we determined the nature of workplace violence that medical staff have encountered in Chinese hospitals and identified factors associated with those experiences of violence. A total of 1129 health workers participated. The specialist hospital had the highest prevalence of physical violence (35.4%), while the general hospitals had the highest prevalence of non-physical violence (76%). Inexperienced medical staff (p < 0.001) were more likely to suffer non-physical violence than physical violence in Chinese medicine hospitals compared to experienced staff. Medical units (p = 0.001) had a high risk of non-physical violence, while surgical units (p = 0.005) had a high risk of physical violence. In general hospitals, staff with higher levels of anxiety about workplace violence were more vulnerable to both physical violence (1.67, 95% CI 1.36-2.10) and non-physical violence (1.309, 95% CI 1.136-1.508) compared to those with lower levels of anxiety, while rotating shift workers had a higher odds of physical violence (2.2, 95% CI 1.21-4.17) and non-physical violence (1.65, 95% CI 1.13-2.41) compared to fixed day shift workers. Thus, prevention should focus not only on high-risk sections of hospitals, but also on the nature of the hospital itself.